Systems, Methods, and Computer Program Products for Interfacing Multiple Service Provider Trusted Service Managers and Secure Elements

ABSTRACT

System, methods, and computer program products are provided for interfacing between one of a plurality of service provider (SP) trusted service managers (TSM) and one of a plurality of secure elements (SE). A first request including a mobile subscription identifier (MSI) is received from an SP TSM over a communications network. At least one memory is queried for SE data including an SE identifier corresponding to the MSI. The SE data is transmitted to the SP TSM over the communications network. A second request based on the SE data is received from the SP TSM over the communications network. A third request, based on the second request, is transmitted, over a mobile network, to an SE corresponding to the SE data. The mobile network is selected from multiple mobile networks, and is determined based on the SE data queried from the memory.

CROSS REFERENCE TO RELATED APPLICATION

This application claims priority to U.S. Provisional Application Nos. 61/702,653, filed Sep. 18, 2012, and 61/554,393, filed Nov. 1, 2011 the contents of which are incorporated herein by reference.

BACKGROUND OF THE INVENTION

Field of the Invention

The present invention relates to interfacing between service providers and secure elements, and more particularly to systems, methods, and computer program products for interfacing between service provider trusted service managers and secure elements.

Related Art

A service provider (SP) is a company, organization, entity, or the like, that provides services to customers or consumers. Examples of service providers include account-issuing entities such as merchants, card associations, banks, marketing companies, and transit authorities. A service may be an activity, capability, functionality, work, or use that is permitted or provided by a service provider such as a payment service, a gift, offer or loyalty service, transit pass service, and the like.

In a mobile environment that involves contactless transactions between a mobile device and a service provider, information relating to the accounts and applications issued by the service providers must be downloaded onto mobile devices in order to enable them to perform the contactless transactions.

A trusted service manager (TSM) is typically an independent entity serving mobile network operators (MNOs) and account-issuing service providers by provisioning applications, such as contactless applications associated with the service providers, to mobile devices. Typical TSMs can distribute and manage the contactless applications remotely because they have access to secure elements (SEs) in a near field communication (NFC) enabled mobile device.

Security-critical applications, such as those involving payment and account credentials, require secure hardware storage and a secure execution environment. On mobile devices, this is usually handled by the secure element.

The secure element is a platform onto which applications can be installed, personalized and managed. It consists of hardware, software, interfaces, and protocols that enable the secure storage of credentials and execution of applications for payment, authentication, and other services.

A secure element may be implemented in different form factors such as a Universal Integrated Circuit Card (UICC), an embedded secure element, or NFC enablers such as a separate chip or secure device, which can be inserted into a slot on the mobile device. Typically a UICC is in the form of a subscriber identity module (SIM), which is controlled by the MNOs. An embedded secure element gives service providers the option to embed the secure element into the phone itself. One way in which secure element form factors are implemented is defined in, for example, GlobalPlatform Card Specification Versions 2.1.1 and 2.2 (hereinafter “Global Platform”).

A secure element may include one or more security domains (SDs), each of which includes a collection of data, such as packages, applets, applications, and the like, that trust a common entity (i.e., are authenticated or managed using a common security key or token).

Security domains may be associated with service providers and may include service provider applets or applications such as loyalty, couponing, and credit card, and transit applications or applets.

Traditionally, service provider systems include a TSM to interconnect with a secure element on a mobile device to create a security domain on the secure element and install, provision and manage applets and applications on the secure element. Service providers must be able to provide their services to a large number of customers with different mobile devices, equipped with different secure elements, and being serviced by a variety of MNOs. As explained above, secure elements may be implemented in numerous form factors, and may contain a variety of security domains, applets and applications, all potentially configured in an extremely large number of ways. As a result, service providers are faced with the overwhelming task of providing adaptable services and solutions to a large, and often growing and changing, combination of mobile devices, MNOs, networks, secure elements and security domains.

For example, in order for a service provider to securely install a payment applet onto a customer's secure element on a mobile device, the service provider must first determine a large amount of information in order to send to and process a request on a secure element. For example, service providers using the prior art must obtain secure element information (e.g., identifiers, type, profile identifier, certification level and expiration), MNO information (e.g., type), security domain information (e.g., identifier, privileges, master key index), and the like. This information may exist in a variety of different sources (e.g., security domain, secure element, mobile device, MNO) and therefore, it is a laborious task for a service provider to retrieve, and check for parity, all of this information, requiring extensive processing.

One technical challenge in the installation, management, and provisioning of applications on secure elements is due to the limitations in typical TSMs, namely that they do not function as central intermediaries capable of processing communications between a large variety of service providers, MNOs, mobile devices, networks, secure elements and security domains. There is a need, therefore, for an improved system such as a central TSM, particularly tailored for interfacing between service providers (including service provider TSMs) and secure elements.

From the perspective of a service provider, what matters is that they can easily and securely communicate (i.e., request personalization, service activation, processing of scripts, etc.) with an intended customer's secure element, regardless of the customer's mobile device, secure element, MNO, or mobile network.

From the perspective of the customer, what matters is that the service of the service provider can be activated on and used with the customer's secure element, regardless of the customer's mobile device, secure element, MNO, or mobile network.

BRIEF DESCRIPTION

The present invention provides systems, methods, and computer program products for interfacing between one of a plurality of service provider trusted service managers and one of a plurality of secure elements.

In one embodiment, a system for interfacing between one of a plurality of service provider trusted service managers and one of a plurality of secure elements includes at least one memory and a processor communicatively coupled to the at least one memory. The processor receives, from a service provider trusted service manager over a communications network, a first request including a mobile subscription identifier. The at least one memory is queried for secure element data corresponding to the mobile subscription identifier. The secure element data includes a secure element identifier, and is transmitted to the service provider trusted service manager over the communications network. A second request based on the secure element data is received from the service provider trusted service manager over the communications network, and a third request, based on the second request, is transmitted to a secure element corresponding to the secure element data. The third request is transmitted over a mobile network selected from a plurality of mobile networks based on the secure element data queried from the at least one memory.

In another embodiment, a method for interfacing between one of a plurality of service provider trusted service managers (SP TSM) and one of a plurality of secure elements includes an SP TSM and at least one memory. The SP TSM receives, over a communications network, a first request including a mobile subscription identifier. The at least one memory is queried for secure element data including a secure element identifier corresponding to the mobile subscription identifier. The secure element data is transmitted to the SP TSM over the communications network, and a second request based on the secure element data is received from the SP TSM over the communications network. A third request, based on the second request, is transmitted over a mobile network to a secure element corresponding to the secure element data. The mobile network is selected from a plurality of mobile networks, and determined based on the secure element data queried from the at least one memory.

In another embodiment, a non-transitory computer-readable medium having stored thereon sequences of instructions, the sequences of instructions including instructions, which, when executed by a computer system cause the computer to: receive, from an SP TSM over a communications network, a first request including a mobile subscription identifier; query at least one memory for secure element data including a secure element identifier corresponding to the mobile subscription identifier; transmit the secure element data to the SP TSM over the communications network; receive, from the SP TSM over the communications network, a second request based on the secure element data; and transmit, over a mobile network, a third request, based on the second request, to a secure element corresponding to the secure element data. The mobile network is selected from a plurality of mobile networks, and determined based on the secure element data queried from the at least one memory.

Further features and advantages of the present invention will become more apparent from the detailed description set forth below when taken in conjunction with the following drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

The features and advantages of the present invention will become more apparent from the detailed description set forth below when taken in conjunction with the following drawings.

FIG. 1 is a diagram of a system for interfacing between a service provider and a secure element according to an exemplary embodiment.

FIG. 2 is a sequence diagram illustrating a sequence for sending a request from a service provider trusted service manager to a secure element according to an exemplary embodiment.

FIG. 3 is a sequence diagram illustrating a sequence for sending multiple requests from a service provider trusted service manager to a secure element according to an exemplary embodiment.

FIG. 4 is a sequence diagram illustrating a sequence for sending a pre-personalization request from a service provider trusted service manager to a secure element according to an exemplary embodiment.

FIG. 5 is a diagram of a secure element configuration according to an exemplary embodiment.

FIG. 6 is a diagram of a secure element configuration according to an exemplary embodiment.

FIG. 7 is a diagram of a secure element configuration according to an exemplary embodiment.

FIG. 8 is a diagram of a secure element configuration according to an exemplary embodiment.

FIG. 9 is a block diagram of an exemplary system useful for implementing the present invention.

DETAILED DESCRIPTION

Overview

The example embodiments of the invention presented herein are directed to systems, methods, and computer program products for interfacing between a service provider and a secure element. This is for convenience only, and is not intended to limit the application of the present invention. In fact, after reading the following description, it will be apparent to one skilled in the relevant arts) how to implement the following invention in alternative embodiments, such as interfacing between a large variety and vast number of entities including TSMs, MNOs, secure elements, mobile devices, service providers, and any other systems that are capable of communicating over networks.

Generally, the exemplary embodiments described herein perform interfacing between one or more service provider systems having a mobile subscription identifier (MSI) and one or more secure elements.

A service provider system (i.e., service provider) may communicate with a central TSM in order to access or control a corresponding security domain and/or application on a secure element. In particular, the service provider, by communicating with the central TSM, may pre-personalize a secure element, personalize a service on a security domain in a secure element, or activate a service on the secure element. For example, the service provider may transmit a request to the central TSM to pre-personalize a secure element. In response, the central TSM may pre-personalize the secure element, including creating at least one service provider security domain including corresponding temporary security keys, if required, and/or instantiating an application on the secure element. Instantiation of the application includes creating an instance of an uninstantiated application.

The service provider may also transmit a request to personalize a service to the central TSM. The request may include data and scripts. The scripts may include commands to be executed by an application on a security domain corresponding to the service provider in the secure element. For example, the scripts may include commands to personalize an instantiated application, rotate keys in the corresponding security domain, and/or execute service provider commands in the service provider's security domain and/or instantiated application in the secure element. The central TSM receives the request and securely transmits the scripts and/or data in the request to the secure element. In turn, the secure element receives and executes the scripts and data.

The service provider communicates with the central TSM in order to have commands executed on the secure element. In order to do so, the service provider (i.e., SP TSM) sends a request (e.g., to pre-personalize a secure element) to the central TSM to obtain information about the secure element based on an MSI. The central TSM receives the request and queries its memory, based on the MSI, to obtain the requested information about the secure element. Once the central TSM has retrieved the secure element information corresponding to the MSI, the central TSM transmits the retrieved secure element information and the MSI to the SP TSM.

Once the service provider has identified the target secure element and its information, the service provider (i.e., SP TSM) sends a request to the central TSM, for the central TSM to establish a communication (i.e., a conversation) with the secure element. The request to establish the communication includes the retrieved secure element information and corresponding MSI, as well as information regarding applications or applets, security domains, services and scripts that will be used to process a subsequent request from the service provider. The central TSM receives the request and transmits a response to the SP TSM including a communication identifier and other attributes of the communication.

After the communication has been established, the service provider sends a request (e.g., personalize an application), including the communication identifier, intended to be executed in the secure element. The service provider initially sends the request to the central TSM. The central TSM receives the request, and based on the information in the request, establishes a connection with the secure element and transmits the request (e.g., personalize an application) to the secure element for processing. The central TSM transmits the request to the secure element over a corresponding mobile network. The corresponding mobile network is determined based on MNO information which is retrieved from the memory of the central TSM, which is based on the information in the request made by the service provider (e.g., to personalize an application). The request is processed in the secure element in accordance with the request from the service provider, based on the information in the request and the established communication.

Due to the functionality of the exemplary embodiments described herein, a service provider can efficiently and effortlessly communicate with a central TSM in order to have a variety of requests processed on a secure element with minimal processing and information required. The exemplary embodiments also provide for a central TSM arrangement that significantly reduces the time and cost requirements required for service providers to have requests (e.g., enable services) processed on a secure element.

In addition, a service provider can send a request to a secure element, via a central TSM, merely by using the MSI to communicate with a single source (i.e., the central TSM). That is, the service provider is able to process its requests with a secure element without the need to communicate with multiple intermediary sources (e.g., MNOs, TSMs).

Additionally, service provider requests are standardized such that a single type of request is communicated to the central TSM notwithstanding the type of MNO, mobile device type, secure element, and/or application. By standardizing the service provider requests, advantageously, the errors and complexities associated with the processing of multiple service provider requests are reduced. Further, service providers do not have to transmit or provide an application for installation, or provide MNO, mobile device or secure element interfaces in order to have a request processed on a secure element. Instead, the service provider can send one or more standardized requests with commands to the central TSM. As a result, the processing time and size required to execute a request are minimized.

System

FIG. 1 is a diagram of an exemplary system 100 for interfacing between service providers and secure elements over mobile networks. As shown in FIG. 1, system 100 includes SP TSMs 103-1, 103-2, . . . , 103-n (collectively “103”). Each of the SP TSMs 103 corresponds to a service provider 107-1, 107-2, . . . , 107-n (collectively “107”). Each SP TSM serves as an intermediary between the service providers 107 and other entities including secure elements, MNOs, and another type of TSM (referred to herein as a “central TSM”).

Each of the SP TSMs 103 are communicatively coupled to central TSM 102 via a communications network 105. Communications network 105 may be a virtual private network (VPN), a network using Hypertext Transfer Protocol (HTTP) standards, or the like.

Each of the SP TSMs 103 and the central TSM 102 may also secure these communications by using security protocols such as Secure Socket Layer (SSL), Transport Layer Security (TLS), or the like. Each of the SP TSMs 103 may also communicate with central TSM 102 by using an application programming interface (API) such as a web service API.

In an exemplary embodiment, the central TSM 102 is hardware and/or software that is implemented to serve as an intermediary between the SP TSMs 103 and secure elements 106 a-1, 106 a-2, . . . , 106 a-n (collectively “106 a”). Specifically, the central TSM 102 allows each of the SP TSMs 103 to, for example, request pre-personalization of a secure element (e.g., secure elements 106), generate and install new or temporary security domain keysets, personalize a payment service, and/or have a service activated. That is, the central TSM 102 manages the communications between the SP TSMs 103 and the secure elements 106 a.

The central TSM 102, therefore, can communicate with a plurality of service providers 107 and SP TSMs 103, and with a plurality of secure elements 106 a over a plurality of mobile networks 104-1, 104-2, . . . , 104-n (collectively “104”).

In an example embodiment, the central TSM 102 includes a processor 102 a and a memory 102 b.

The central TSM 102 may include an enterprise service bus (ESB) (not shown). In an exemplary embodiment, the ESB is an architecture model for implementing the interactions and communications between entities (e.g., secure elements 106 a, SP TSMs 103, central TSM 102).

The central TSM 102 is communicatively coupled to the secure elements 106 a via corresponding mobile networks 104 used and/or managed by corresponding MNOs. Generally, the mobile networks 104 are used by MNOs to provide wireless communications services. The mobile networks 104 may be mobile phone cellular networks, radio networks, or the like. The central TSM 102 may communicate with the secure elements 106 a, via the mobile networks 104, using security protocols such as Global Platform secure channel protocol, SSL, TLS, or the like.

Secure elements (e.g., secure elements 106 a) are discussed in further detail below with reference to FIGS. 5-8. As shown in FIG. 1, the secure elements 106 a are associated with corresponding mobile devices 106-1, 106-2, and 106-n (collectively “106”), respectively. The secure elements 106 a may be communicatively coupled to one or more processors and one or more memories.

During manufacture of a secure element (e.g., secure element 106 a-1), the secure element is pre-loaded with content including, for example, an MNO SD, a central SD, a wallet companion applet, a mobile wallet companion applet (WCAp), a proximity payment system environment (PPSE), and a payment package. The MNO SD is a security domain that is managed by an MNO, and includes security keys and applications. The central SD is managed by the central TSM 102. The WCAp may be used by a mobile wallet in order to conduct transactions, and the PPSE is an application that assists in the process of making contactless payment transactions.

The secure elements 106 a may include security domains, code, applets, applications, and packages. The packages may include uninstantiated applets and/or applications, and may be loaded on a secure element, for example, over-the-air (OTA). Applets and/or applications on the secure element may be in uninstantiated or instantiated form, and uninstantiated applets and/or applications may be preloaded on a secure element during manufacture of the secure element. Alternatively, applets and/or applications may be loaded, for example, OTA after a secure element has been manufactured (e.g., upon delivering the secure element to a user). Applets and/or applications may be generic or non-generic. Non-generic applets and/or applications may include couponing and loyalty applications, and/or any application that is not generic to multiple service providers. That is, a non-generic application may correspond to a single service provider. Data that may be used and/or associated with a non-generic application (e.g., offers, coupons) may be stored in the secure element or in memory outside of the secure element (e.g., non-volatile memory of a mobile device).

Generic applets and/or applications may include applets and/or applications that, when instantiated, can be used by multiple service providers. For example, a generic application of a payment network (e.g., MasterCard®) may be instantiated for multiple service providers by a central TSM, and therefore may be used by more than one service provider.

Packages including uninstantiated applets and/or applications may be owned or controlled by a single entity controlling a central TSM and/or a central SD. Uninstantiated applets and/or applications may be created under (i.e., directly associated with) a central SD on a secure element, and may be exclusively managed on the secure element by the central TSM using the central SD. In particular, the central SD maintains exclusive access to the WCAp, PPSE, packages, and SP SDs. However, service providers may transmit requests to the central TSM, for example, to rotate (i.e., exchange) security keys. After security keys of an SP SD have been rotated, the corresponding service provider can continue to send requests to the central TSM to execute commands on the corresponding SP SD. After key rotation, the central TSM has limited access to the SP SD. In particular, the central TSM can, for example, stop execution of an application or instantiate applications under the SP SD, but may not access the security keys or personalized content of the SP SD.

Exclusive ownership, control, and/or management of uninstantiated applets or applications allows a single entity to efficiently and cost effectively supervise the applets and/or applications. Further, exclusive ownership, control, and/or management increases security and minimizes the complexities caused by multiple service providers loading and controlling different applets and/or applications on a secure element. For example, a service provider may utilize an instance of an uninstantiated applet and/or application instead of certifying and installing an independent applet and/or application on the secure element.

Additionally, uninstantiated applets and/or applications may be instantiated, and each instance may then be extradited to a corresponding security domain. Instantiation may include personalizing applets and/or applications using data corresponding to the entity for which the instance is being created.

For example, multiple instances of an uninstantiated applet or application may be created for different entities (e.g., service providers) and each instance may be extradited to a different security domain for use by a different entity.

An applet or application on a secure element may function pursuant to requirements established by Global Platform, Europay, MasterCard®, Visa® (EMVCo.), MNOs, and payment networks (e.g., MasterCard®, Visa®, Discover®, American Express®). Applets or applications may be, for example, Expresspay™ payWave™, PayPass™, Zip™, and the like.

For example, the SP TSM 103-1 sends a request to the central TSM 102 via the communications network 105, and the central TSM 102 sends a response back to the SP TSM 103-1 via the communications network 105. The SP TSM 103-1 sends a request, intended for the secure element 106 a-1, to the central TSM 102 via the communications network 105. In turn, the central TSM 102 sends that request to the secure element 106 a-1 via the respective mobile network 104-1.

In an alternative embodiment, the central TSM 102 can include and utilize an ESB to perform operations.

In an alternative embodiment, a plurality of service providers share one of the SP TSMs 103.

In an additional alternative embodiment, the memory 102 b may be a database.

In another alternative embodiment, a plurality of mobile networks communicate with a plurality of SP TSMs.

Process

A. Communicating a Request from a Service Provider TSM to a Secure Element

FIG. 2. depicts a sequence diagram 200 for sending a request from an SP TSM 203 (e.g., FIG. 1, SP TSM 103-1) to a secure element 201 (e.g., FIG. 1, SE 106 a-1), according to an exemplary embodiment. The request may be, for example, a request to the secure element 201 to process a script, manage a communication, or activate a service. These types of requests are discussed in further detail below with reference to FIGS. 2 and 3.

As shown in FIG. 2, at step 250, the SP TSM 203 transmits a request (Request_(x)) to the central TSM 202 over a communications network (e.g., FIG. 1, communications network 105). This request may be a request to retrieve secure element data including a secure element identifier, based on a mobile subscription identifier (MSI) included in request.

The secure element identifier is a unique number or set of characters which is written to the secure element 201 and may be used to identify the secure element 201. The secure element identifier may also include the type of identifier used to identify the secure element, such as a Card Image Number (CIN), which is a unique number that identifies the secure element and which is written to the secure element during its personalization.

The secure element data are attributes of the secure element 201. The secure element data may include the following information relating to the secure element 201: secure element identifier; name of the MNO associated with the secure element 201; service provider data for the service provider associated with SP TSM 203; master key index including a key for the service provider's security domain in the secure element 201; profile identifier; secure element type; standards versions (e.g., GlobalPlatform, JavaCard); certification level and expiration date.

The MSI is a unique number used to identify a mobile subscription of a mobile device associated with an MNO. The MSI may also include the name of the MNO associated with the mobile subscription as well as the type of identifier used to identify the mobile subscription of the mobile device, such as a mobile device number (MDN), which is generally a phone number associated with a particular line of service.

The central TSM 202 receives the request (Request_(x)), including the MSI, and queries its memory (Query Memory), at step 252. The memory may be a database including one or more MSIs and one or more corresponding secure element identifiers and secure element data. The memory may also include MNO data corresponding to each of the secure element identifiers. The MNO data may be information used to identify the MNO with which the secure element is associated, and may be used to select an appropriate mobile network to be used for communicating with the secure element. The query is a request to retrieve secure element data, including a secure element identifier corresponding to the MSI, from the memory.

Upon retrieving the secure element data corresponding to the MSI, the central TSM 202 transmits, at step 254, to the SP TSM 203, over the communications network, the retrieved secure element data stored in its database including the secure element identifier (Response). The central TSM 202 also transmits to the SP TSM 207 (Response) the corresponding MSI included in the request. In this way, the SP TSM 203 determines the identity of the secure element 201, to which it will send a request.

The SP TSM 203, using the secure element data received from the central TSM 202, transmits, at step 256, a request (Request_(y)) to the central TSM 202. The central TSM 202 receives this request (Request_(y)) including the secure element identifier of the secure element 201, to which the SP TSM 203 has addressed the request.

This request (Request_(y)) may include one or more requests for the secure element 201 to: manage a communication, process one or more scripts, or activate a service. For example, a request may be used to instruct a secure element to perform, for example, personalization, key rotation, and other processes discussed below with reference to FIGS. 3 and 4.

The central TSM 202 determines a mobile network (e.g., FIG. 1, mobile network 104-1) from a plurality of mobile networks based on MNO data in the memory which corresponds to the secure element data in the request (Request_(y)). Upon determining the mobile network, the central TSM 202 transmits, at step 258, a request (Request), which is based on the previous request (Request_(y)), to the secure element 201 over the mobile network. In this way, the secure element 201 may process, at step 260, the request (Process Request).

In an alternative embodiment, the secure element 201 may transmit to the central TSM 202, over the mobile network, a response after completing or processing the request from the SP TSM 203. The response may include, for example, information indicating whether the processing of a request succeeded or failed.

In an alternative embodiment, the secure element data may not include the secure element identifier. In such a case, the SP TSM 203 may request the secure element identifier (based on the MSI) and the secure element data separately, and the central TSM 202 may provide the secure element identifier and the secure element data in separate responses to the SP TSM 203.

In an alternative embodiment, the SP TSM 203 may initially transmit a request to the central TSM 202 to pre-provision the secure element 201, including creating one or more security domains on the secure element 201, if necessary (i.e., if one or more security domains corresponding to the SP TSM 203 have not been created). Once the one or more security domains have been created, the SP TSM 203 can transmit subsequent requests to the central TSM 202 including, for example, a request to instantiate an uninstantiated application. In turn, the central TSM 202 extradites the instantiated application (i.e., the instance) to a corresponding security domain (e.g., central SD, SP SD).

In an alternative embodiment, the central TSM 202 includes an ESB, and utilizes the ESB to process requests including, for example, to process a script, manage a communication, or activate a service.

B. Communicating Multiple Service Provider TSM Requests to a Secure Element

FIG. 3 depicts sequence diagram 300 for sending multiple requests from an SP TSM 303 (e.g., FIG. 1, SP TSM 103-1) to a secure element 301 (e.g., FIG. 1, SE 106 a-1) according to an exemplary embodiment.

In FIG. 3, at step 352, the SP TSM 303 transmits a request (Request SE Identifier), over a communications network (e.g., FIG. 1, communications network 105), to the central TSM 302, including a request to obtain a secure element identifier. The request (Request SE Identifier) includes an MSI, which is associated with the secure element 301 to which the SP TSM 303 wishes to send a request. Using the MSI, at step 354, the central TSM 302 performs a query (Query Memory) and retrieves the secure element identifier corresponding to the MSI included in the request. At step 356, the central TSM 302 transmits (Response to Request SE Identifier) the retrieved secure element identifier to the SP TSM 303 over the communications network.

Once the SP TSM 303 receives the secure element identifier, the SP TSM 303 transmits, at step 358, a request (Request SE Data), over the communications network, to the central TSM 302, including a request to obtain secure element data (as discussed in further detail above with reference to FIG. 2) associated with the secure element 301. This request (Request SE Data) includes the secure element identifier (received from the central TSM 302) and the corresponding MSI. Using the secure element identifier and corresponding MSI, at step 360, the central TSM 302 performs a query (Query Memory) and retrieves the secure element data corresponding to the secure element identifier. At step 362, the central TSM 302 transmits (Response to Request SE Data) the retrieved secure element data to the SP TSM 303 over the communications network.

At step 364, the SP TSM 303 subsequently transmits a request (Request to Manage Comm. (Begin)), based on the received secure element identifier and data, to manage a communication to the central TSM 302.

1. Managing a Communication

In general, a request to manage a communication may include a request to begin a communication or a request to end a communication. In an exemplary embodiment, a communication is a notification from a first device (e.g., SP TSM 303, central TSM 302) to a second device (e.g., secure element 301), that the first device intends to perform an over-the-air (OTA) communication or operation with the second device.

As shown in FIG. 3, at step 364, the SP TSM 303 transmits a request (Request to Manage Comm. (Begin)) to establish a communication to the central TSM 302, over the communications network, so that the communication parameters and identifiers can be established. Doing so notifies the central TSM 302 that the SP TSM 303 will request execution of an operation on the secure element 301. This operation may be, for example, the execution of scripts requested by the SP TSM 303, or the activation of a service on the secure element 301.

The communication request (Request to Manage Comm. (Begin)) transmitted at step 364 by the SP TSM 303 to the central TSM 302 may include the following attributes: secure element identifier, MSI, service identifier, service qualifier, target application identifier, format and size of scripts to be executed during the OTA communication, and operation requested (e.g., key rotation, personalization). The “operation requested” attribute is used by the central TSM 302 to track the progress of that operation.

The service identifier may include a service identifier number and version, which are used to identify a general definition of the service. The service qualifier includes a service provider name and payment account reference number (PRN).

The service qualifier is used to identify the particular instance of the service (i.e., the service corresponding to the service identifier) that is to be acted on (e.g., installed, locked, unlocked, deleted) using requests, including commands, during a communication.

The PRN is a unique number for identifying a credential or card (e.g., payment card) associated with a service.

As shown in FIG. 3, after receiving the request (Request to Manage Comm. (Begin)), the central TSM 302, at step 366, transmits a response (Response to Request to Manage Comm. (Begin)) to the SP TSM 303, over the communications network. This response may include the following attributes: a communication identifier, OTA bearer (i.e., entity in charge of transmitting the request), maximum number and size of scripts to be requested in an operation, script format, and the permitted length of the communication.

As further shown in FIG. 3, at steps 374 and 388, after one or more scripts are processed (discussed below in further detail), the SP TSM 303 transmits a request (Request to Manage Comm. (End)) to end the communication (i.e., the communication corresponding to the communication identifier) to the central TSM 302, over the communications network. This request may include the communication identifier previously received by the SP TSM 303, as well as the status of the operation (e.g., failed or succeeded). Doing so, the SP TSM 303 indicates that the communication corresponding to the communication identifier is no longer intended to be used, and the communication may no longer be used. At steps 376 and 390, the central TSM 302 sends a response (Response to Request to Manage Comm. (End)), indicating the status of the operation (e.g., failed or succeeded), to the SP TSM 303, over the communications network.

As shown in FIG. 3, while the communication is open (i.e., a communication has begun and has not ended), the SP TSM 303 sends a request to the central TSM 302 to process one or more scripts.

2. Processing One or More Scripts

In general, a request to process one or more scripts enables the SP TSM 303, using the central TSM 302, to request sending a set of command application protocol data units (APDUs) directed to the secure element 301 and to be executed on the secure element 301. This request may be based on, for example, Global Platform messaging standards, and may be used, for example, to request: application personalization, key rotation, and/or post-personalization. A list of commands which can be sent to the secure element for processing are discussed below with reference to FIGS. 5-8.

Each script or command APDU may be used to execute an operation based on or using data that is prestored (i.e., loaded during manufacture) on the secure element. This data may include, for example, code, applets or applications. Using scripts and/or APDUs commands, the SP TSM 303 may request that the central TSM 302 instantiate, for example, an uninstantiated application on the secure element 301, and extradite the instance to a corresponding security domain on the secure element 301.

In an exemplary embodiment, application personalization is the insertion or upload of data onto an application on a security domain in a secure element. That is, a service provider may insert or upload sensitive data, including account and customer data, onto an application on a secure element in the customer's mobile device. More specifically, an SP TSM may transmit a request to personalize an application, including commands and data, to a central TSM. The central TSM may then send a request, based on the request received from the SP TSM, to the secure element to personalize the application on the secure element associated with the customer.

In an exemplary embodiment, key rotation is the concept of setting or inserting a digital key (i.e., an algorithm that undoes the work of an encryption algorithm) provided by a service provider into a security domain in a secure element.

In an exemplary embodiment, post-personalization is the concept of sending requests, including command APDUs to a secure element via a central TSM. In particular, post-personalization requests are sent by a service provider to execute outstanding commands after personalization has been performed.

The request to process one or more scripts may include a communication identifier (as described above) and a list of command APDUs to be sent to and executed in the secure element 301, with reference to a security domain. That is, the SP TSM 303 uses an established communication (and the attributes defined therein) to send a list of commands to the secure element 301 to be executed with regard to a specific and corresponding application or to an uninstantiated application.

Examples of command APDUs include: “Delete Key,” “Get Data,” “Get Status,” “Put Key,” “Select,” “Set Status,” “Store Data,” and “Install”. These command APDUs may be used to retrieve applications and application data, select applications, lock and unlock applications, personalize applications, instantiate uninstantiated applications, extradite instantiated applications to corresponding SP SDs, and update and delete security domain keys. Command APDUs are described in further detail below with reference to FIGS. 5-8.

As shown in FIG. 3, at step 368, the SP TSM 303 transmits a request (Request to Process Script (for key rotation)) to process a script to the central TSM 302, over the communications network. In particular, this request includes a communication identifier, which is the established communication that will be used to transmit the request. This request also includes commands (i.e., command APDUs) to perform key rotation on the security domain in the secure element 301. In response, at step 372, the central TSM 302 transmits a response (Response to Request to Process Script (for key rotation)) to the SP TSM 303 including a list of response APDUs and a list of command APDUs that failed execution.

As further shown in FIG. 3, after the request to perform the key rotation is processed at step 370, the SP TSM 303 requests ending the previously initiated communication by sending a request (Request to Manage Comm. (End)), at step 374, to the central TSM 302. At step 376, the central TSM transmits a response (Response to Request to Manage Comm. (End)) to the SP TSM 303. In turn, the SP TSM 303 requests initiation (i.e., begin), at step 378, a subsequent communication by transmitting a request (Request to Manage Comm. (Begin)) and obtains a corresponding communication identifier, at step 380, in a response (Response to Request to Manage Comm. (Begin)) from the central TSM 302. Using the communication and communication identifier obtained in step 380, the SP TSM 303 transmits, at step 382, an additional request (Request to Process Script (Personalize Application)) to process a script to the central TSM 302, over the communications network. In particular, this request includes a communication identifier, which is the open communication that will be used to transmit the request, and a list of commands (i.e., command APDUs) to perform application personalization on the security domain in the secure element 301. At step 384, this request is processed (Personalize Application). In response, at step 386, the central TSM 302 transmits a response (Response to Request to Process Script (Personalize Application)) to the SP TSM 303 including a list of response APDUs and a list of command APDUs that failed execution. At step 388, the SP TSM 303, transmits a request (Request to Manage Comm. (End)) to the central TSM 302 to end the communication. At step 390, the central TSM 302 transmits a response (Response to Request to Manage Comm. (End)).

In an alternative embodiment, the request to perform key rotation and the request to perform application personalization are transmitted from the SP TSM 303 to the central TSM 302 in a single request.

In another alternative embodiment, multiple operations are performed during a single communication.

3. Activating a Service

As shown in FIG. 3, at step 392, the SP TSM 303 transmits a request (Request to Activate Service) to the central TSM 302 to activate a service (e.g., a payment service), over the communications network.

In general, a request to activate a service is used to activate a service provider's service and make the applications associated with that service selectable on a particular secure element. This request may include the following attributes: secure element identifier, MSI, service identifier, and service qualifier. The service identifier and service qualifier may be used to identify the general and particular instance of the service to be activated on the secure element 301.

The central TSM 302 receives the request to activate a service, and processes the request at step 394 using the information provided in the request. The central TSM 302, at step 396, transmits a response (Response to Request to Activate Service) to the request to the SP TSM 303, including information indicating the execution status of the request (i.e., whether execution failed or succeeded).

In an alternative embodiment, the request to activate a service and requests to perform key rotation and/or application personalization are transmitted from the SP TSM 303 to the central TSM 302 in a single request.

In an alternative embodiment, the central TSM 302 includes an ESB, and utilizes the ESB to process requests including, for example, to process a script, manage a communication, or activate a service.

C. Transmitting a Pre-Personalization Request from an SP TSM to a Secure Element

FIG. 4 depicts an exemplary sequence diagram 400 for sending a request for pre-personalization from an SP TSM 403 (e.g., FIG. 1, SP TSM 103-1) to a secure element 401 (e.g., FIG. 1, SE 106 a-1).

In FIG. 4, at step 452, the SP TSM 403 transmits a request (Request SE Data), over a communications network (e.g., FIG. 1, communications network 105) to the central TSM 402, to obtain secure element data including a secure element identifier. The request includes an MSI.

Upon receiving the request, the central TSM 402, at step 454, queries a memory (Query Memory) for the secure element data including the secure element identifier, based on the MSI included in the request (Request SE Data). Once the secure element data has been retrieved, the central TSM 402 transmits, at step 456, a response (Response to Request SE Data) including the secure element data to the SP TSM 403.

As shown in FIG. 4, at step 458, the SP TSM 403 transmits a pre-personalization request (Request Pre-personalization) to the central TSM 402, over the communications network. This request may include attributes to identify the service (and its corresponding applications) for which pre-personalization is requested, as well as commands for executing the pre-personalization request. Notably, the request does not include the applications of the service to be instantiated on the secure element.

In an example embodiment, pre-personalization includes creating a security domain, instantiating one or more uninstantiated applications, and extraditing the instance to the security domain. Pre-personalization may also include determining whether security domains and applications already exist on the secure element, performing a technical eligibility check, and loading and instantiating applications.

The central TSM 402 receives the pre-personalization request and, based on this request, transmits, at step 460, a request (Request Security Domain Creation) to the secure element 401 to create a security domain (discussed in further detail below with reference to FIGS. 5 to 8). After the security domain is created on the secure element 401, the central TSM 402 transmits, at step 462, a request (Request Application Installation) to the secure element 401 to instantiate one or more applications associated with the service of the service provider.

The central TSM 402, after transmitting the requests to the secure element 401, transmits, at step 464, a pre-personalization response (Response to Request Pre-personalization) to the SP TSM 403, indicating whether the pre-personalization requested by the SP TSM 403 failed or succeeded.

The secure element 401 may also transmit a response to each request, after each request has been processed.

The central TSM 402 may also determine whether applications are instantiated and/or whether security domains are created on a secure element.

The SP TSM 403 requests to the central TSM 402 are transmitted via an enterprise service bus (ESB).

In an alternative embodiment, the central TSM 402 includes an ESB, and utilizes the ESB to process requests including, for example, to process a script, manage a communication, or activate a service.

D. Embedded Secure Element Configuration

FIG. 5 depicts a secure element configuration 500 according to an exemplary embodiment. As depicted in FIG. 5, the secure element configuration 500 includes a secure element 501, a central TSM 502, and an SP TSM 503. The secure element 501 includes a central security domain (SD) 504, an SP SD 505 and an SP SD 506. The secure element 501 is implemented as an embedded secure element, or as an NFC enabler such as a separate chip or secure device.

The central SD 504 may perform content management operations on the secure element 501, including instantiating applets (e.g., applets 505-1 and 506-1). That is, applets 505-1 and 506-1 are instances of applications (i.e., uninstantiated applications). In particular, the central SD 504 may securely manage applications (e.g., applets 505-1 and 506-1), create SP SDs, and perform management operations on applets or applications in the secure element.

Each of SP SDs 505 and 506 are associated with applet instances 505-1 and 506-1, respectively, and the SP SDs 505 and 506 assist their respective applets in the establishment of secure channels and in the applet personalization process. Applet instances 505-1 and 506-1 may be created by instantiating uninstantiated applets or applications. Applet instances (e.g., applets 505-1 and 506-1) are created under (i.e., associated with) the central SD 504, and if appropriate, the applet instances are extradited (i.e., delivered) to their respective SP SDs (e.g., applet 505-1 is extradited to its respective SD, SP SD 505). If the instances are not extradited, they may remain under the central SD 504.

As illustrated in FIG. 5, the central TSM 502 manages the central SD 504. That is, the central TSM 502 acts as a secure element manager by controlling the keys of the central SD 504 (and its associated applications), and therefore can use any of its associated privileges (discussed in further detail below with reference to Table 1). Through the central SD 504, the central TSM 502 may load, install, extradite, lock or delete any applet or application on the secure element 501. Additionally, the central TSM 502 may create and manage SP SDs, and may lock the secure element 501.

As illustrated in FIG. 5, the SP TSM 503 is associated with and manages SP SD 506 and the applet 506-1. That is, the SP TSM 503 holds the keys to the SP SD 506 and the applet 506-1, and can use any of the privileges associated with the SP SD 506 (discussed in further detail below with reference to Table 1).

SP SDs 505 and 506 have Data Authentication Pattern (DAP) verification privilege (discussed in further detail below with reference to Table 1), in order to verify the integrity of binary files managed and handled by the central TSM 502. Data packages that do not require DAP verification are loaded under (i.e., associated with) the central SD 504 (e.g., payment package 508), and data packages that require DAP verification are loaded under their respective SP SDs.

Table 1 illustrates privileges (e.g., Global Platform privileges) assigned to a central SD (e.g., central SD 504) and an SP SD (e.g., SP SDs 505 and 506), according to the secure element configuration 500.

TABLE 1 Privileges Central SD SP SD Security Domain Yes Yes DAP Verification Optional Delegated Management Card Lock Yes Card Terminate Yes Default Selected CVM Management Yes Mandated DAP Verification

Table 2 illustrates privileges (e.g., Global Platform privileges) commands supported by a central SD (e.g., central SD 504), according to the secure element configuration 500.

TABLE 2 Command Support DELETE Required with tag 4F (ELF or Application AID); Optional with tags D0 (Key Identifier) and D2 (Key Version Number); N/A with tags B6 and 9E (related to SCP 10). GET DATA Required, with the following tags: 42 (Issuer Provider Identification Number) 45 (Card Image Number) 66 (Card Data) E0 (Key Information Template) C1 (Sequence Counter of Default Key Version Number) GET STATUS Required. INSTALL [for Load] Required, without specific parameters. INSTALL [for Install] Required, with tag C9 (Application-Specific Parameters). INSTALL Required, without specific parameters. [for Make Selectable] INSTALL Optional. [for Personalization] INSTALL N/A. [for Registry Update] INSTALL [for Required. Extradition] LOAD Required, with tags C4 (Load File Data Block) and E2 (DAP Block). MANAGE Optional. CHANNEL PUT KEY Required for the central SD keys. SET STATUS Required.

Table 3 illustrates the commands (e.g., Global Platform commands) supported by an SP SD (e.g., SP SDs 505 and 506), according to the secure element configuration 500.

TABLE 3 Command Support DELETE N/A. GET DATA Required, with the following tags: 42 (SD Provider Identification Number) 45 (SD Image Number) 66 (SD Management Data) E0 (Key Information Template) C1 (Sequence Counter of Default Key Version Number) GET STATUS Required. INSTALL [for Load] N/A. INSTALL [for Install] N/A. INSTALL N/A. [for Make Selectable] INSTALL Optional. [for Personalization] INSTALL N/A. [for Registry Update] INSTALL [for N/A. Extradition] LOAD N/A. MANAGE CHANNEL Optional. PUT KEY Required for the SP SD keys. SET STATUS Required for SP SD (and its applications). STORE DATA Required with the following tags: 42 (Issuer Identification Number) 45 (SD Image Number) 66 (SD Management Data)

In an alternative embodiment, one or both of SP SDs 505 and 506 do not have DAP verification privilege.

In an alternative embodiment, the secure element 501 includes multiple central SDs.

In another alternative embodiment, each SP SD is associated with a corresponding SP TSM.

E. UICC Secure Element Configuration

FIG. 6 depicts a secure element configuration 600 according to an exemplary embodiment. As depicted in FIG. 6, the secure element configuration 600 includes a secure element 601, a central TSM 602, an SP TSM 603, and an MNO 607.

The secure element 601 is implemented as a UICC, and includes a central SD 604, a secure element issuer SD (ISD) 605, an MNO SD 606, an SP SD 608 and an SP SD 609. The MNO SD 606 is associated with a telecommunications applet 612. The central SD 604 is associated with a package 610, and a wallet companion applet 611. The SP SDs 608 and 609, which are associated with the central SD 604, are associated with applets 608-1 and 609-1, respectively.

The ISD 605 creates the central SD 604 and the MNO SD 606, but does not perform any other content management functions.

The MNO SD 606 has Authorized Management privileges (discussed in further detail below with reference to Table 2), and manages content as instructed by the MNO 607.

The central SD 604 has Authorized Management privileges (discussed in further detail below with reference to Table 2), and manages content as instructed by the central TSM 602. In particular, the central SD 604 may securely manage applications, create SP SDs, and perform management operations on applets or applications in the secure element.

The SP SDs 608 and 609 assist their respective applets in the establishment of secure channels and in the applet personalization process. Applet instances 608-1 and 609-1 may be created by instantiating uninstantiated applets or applications. Applet instances (e.g., applets 608-1 and 609-1) are created under (i.e., associated with) the central SD 604. After instantiation, if appropriate, the applet instances are extradited (i.e., delivered) to their respective SP SDs (e.g., applet 608-1 is extradited to its respective SD, SP SD 608). Alternatively, if an applet instance is not extradited, it may remain under the central SD 604.

SP SDs 608 and 609 have DAP verification privilege, in order to verify the integrity of binary files managed and handled by the central TSM 602. Data packages that do not require DAP verification are loaded under (i.e. associated with) the central SD 604 (e.g., package 610), and the data packages that require DAP verification are loaded under their respective SP SDs.

As illustrated in FIG. 6, the central TSM 602 manages the central SD 604. That is, the central TSM 602 acts as a secure element manager by controlling the keys of the central SD 604 (and its associated applications), and therefore can use any of its associated privileges (discussed in further detail below with reference to Table 4). Through the central SD 604, the central TSM 602 may load, install, extradite, lock or delete any associated applet or application on the secure element 601. Additionally, the central TSM 602 may create and manage SP SDs.

As further illustrated in FIG. 6, the MNO 607 is associated with and manages MNO SD 606 and the telecommunications applet 612. Therefore, the MNO 607 can use any of the privileges of MNO SD 606. Through the MNO SD 606, the MNO 607 may load, install, extradite, lock or delete any associated applet or application on the secure element 601. Additionally, MNO packages and applet instances are loaded and/or created under (i.e., associated with) the MNO SD 606.

Table 4 illustrates privileges (e.g., Global Platform privileges) assigned to an ISD (e.g., ISD 605), a central SD (e.g., central SD 604), an MNO SD (e.g., MNO SD 606), and an SP SD (e.g., SP SDs 608 and 609), according to the secure element configuration 600.

TABLE 4 Privileges ISD Central SD MNO SD SP SD Security Domain Yes Yes Yes Yes DAP Verification Optional Delegated Management Card Lock Yes Card Terminate Yes Card Reset CVM Management Yes Mandated DAP Verification Trusted Path Yes Yes Yes Yes Authorized Management Yes Yes Yes Token Verification Global Delete Yes Global Lock Yes Global Registry Yes Final Application Global Service Receipt Generation

Table 5 illustrates the commands (e.g., Global Platform commands) supported by an ISD (e.g., ISD 605), according to the secure element configuration 600.

TABLE 5 Command Support DELETE Required with tag 4F (ELF or Application AID), and with tags D0 (Key Identifier) and D2 (Key Version Number); N/A with tags B6 and 9E (related to SCP 10). GET DATA Required with the following tags: 2F00 (List of Applications) 42 (Issuer Identification Number) 45 (Card Image Number) 66 (Card Data) E0 (Key Information Template) C1 (Sequence Counter of Default Key Version Number) GET STATUS Required. INSTALL [for Load] Required, with tags EF/C6, EF/C7, EF/C8, EF/D6 (Memory Management). INSTALL [for Install] Optional with the same parameters as the INSTALL [for Install & Make Selectable]. INSTALL Optional. [for Make Selectable] INSTALL [for Required, with tag C9 (Application-Specific Install & Make Parameters) and tags EF/C6, EF/C7, EF/C8, Selectable] EF/D7, EF/D8 (Memory Management). INSTALL Required. [for Personalization] INSTALL Required, without specific parameters. [for Registry Update] INSTALL [for Required, without specific parameters. Extradition] LOAD Required, with tags C4 (Load File Data Block) and E2 (DAP Block). MANAGE Required for UICC CHANNEL Optional for Embedded SE. PUT KEY Required for the ISD keys. SET STATUS Required. Only SD allowed to lock or terminate the card. STORE DATA Required with the following tags: 42 (Issuer Identification Number) 45 (Card Image Number) 4F (ISD AID) 66 (Card Data)

Table 6 illustrates the commands (e.g., Global Platform commands) supported by a central SD (e.g., central SD 604), according to the secure element configuration 600.

TABLE 6 Command Support DELETE Required with tag 4F (ELF or Application AID), and with tags D0 (Key Identifier) and D2 (Key Version Number); N/A with tags B6 and 9E (related to SCP 10). GET DATA Required with the following tags: 2F00 (List of Applications) 42 (Service Provider Identification Number) 45 (SD Image Number) 66 (SD Management Data) E0 (Key Information Template) C1 (Sequence Counter of Default Key Version Number) C2 (Receipt Confirmation Counter (only if Delegated Management is supported) GET STATUS Required. INSTALL [for Load] Required, with tags EF/C6, EF/C7, EF/C8, EF/D6 (Memory Management). INSTALL [for Install] Required with the same parameters as the INSTALL [for Install & Make Selectable]. INSTALL Required. [for Make Selectable] INSTALL [for Required, with tag C9 (Application-Specific Install & Make Parameters) and tags EF/C6, EF/C7, EF/C8, Selectable] EF/D7, EF/D8 (Memory Management). Tags EF/82 and EF/83 are supported in case of Cumulated Granted Memory support. INSTALL Required. [for Personalization] INSTALL Required, without specific parameters. [for Registry Update] Tags EF/82 and EF/83 are supported in case of Cumulated Granted Memory support. INSTALL [for Required, without specific parameters. Extradition] LOAD Required, with tags C4 (Load File Data Block) and E2 (DAP Block). MANAGE Required (for UICC, optionally for Embedded CHANNEL SE). PUT KEY Required for the SD keys. SET STATUS Required, but not allowed to modify card/ISD status. STORE DATA Required with the following tags: 42 (SD Provider Identification Number) 45 (SD Image Number) 66 (SD Management Data)

Table 7 illustrates the commands (e.g., Global Platform commands) supported by an MNO SD (e.g., MNO SD 606), according to the secure element configuration 600.

TABLE 7 Command Support DELETE Required with tag 4F (ELF or Application AID), and with tags D0 (Key Identifier) and D2 (Key Version Number). N/A with tags B6 and 9E (related to SCP 10). GET DATA Required with the following tags: 2F00 (List of Applications) 42 (Service Provider Identification Number) 45 (SD Image Number) 66 (SD Management Data) E0 (Key Information Template) C1 (Sequence Counter of Default Key Version Number) FF21 (Extended Card Resources Information (from TS 102.226)) GET STATUS Required. INSTALL [for Load] Required, with tags EF/C6, EF/C7, EF/C8, EF/D6 (Memory Management). INSTALL [for Install] Required with the same parameters as the INSTALL [for Install & Make Selectable]. INSTALL Required. [for Make Selectable] INSTALL [for Required, with tag C9 (Application-Specific Install & Make Parameters) tags EF/C6, EF/C7, EF/C8, EF/D7, Selectable] EF/D8 (Memory Management), and tags CA, EA (Toolkit Application and UICC Specific parameters). INSTALL Required. [for Personalization] INSTALL Required, without specific parameters. [for Registry Update] INSTALL [for Required, without specific parameters. Extradition] LOAD Required, with tags C4 (Load File Data Block) and E2 (DAP Block). MANAGE Required (for UICC, optionally for Embedded CHANNEL SE). PUT KEY Required for the SD keys. SET STATUS Required, but not allowed to modify card/ISD status. STORE DATA Required with the following tags: 42 (SD Provider Identification Number) 45 (SD Image Number) 66 (SD Management Data)

In an alternative embodiment, one or both of SP SDs 608 and 609 do not have DAP verification privilege.

F. Embedded Secure Element Configuration with Third Party Security Domain

FIG. 7 depicts a secure element configuration 700 according to an exemplary embodiment. As depicted in FIG. 7, the secure element configuration 700 includes a secure element 701, a central TSM 702, an MNO 707, a third party TSM (with Authorized Management) 708, and third party TSM (with Delegated Management) 703.

The secure element 701 is implemented as an embedded secure element or as an NFC enabler such as a separate chip or secure device, and includes a central SD 704, an ISD 705, a third party SD 706, a Mandated DAP Privilege Holder Security Domain (MDPH SD) 716, a Controlling Authority Security Domain (CA SD) 717, an SP SD 709, an SP SD 710 (with Delegated Management), and an SP SD 711.

The MDPH SD 716 verifies the signatures (i.e., DAP) of the applets and applications loaded or installed on the secure element 701. Table 10 (below) illustrates the commands supported by an MDPH SD.

The CA SD 717 performs key generation for newly created security domains, in order to guarantee confidential loading. Table 9 (below) illustrates the commands supported by a CA SD.

The third party SD 706 has Authorized Management privilege, and manages content as instructed by the third party TSM 708. The third party SD 706 is associated with a package 714. The SP SD 711 is under (i.e., it is associated with) the third party SD 706, and is associated with an application 711-1. Table 6 (above) illustrates the commands supported by a third party SD (e.g., third party SD 706).

The ISD 705 creates security domains, including central SD 704, and third party SD 706, but does not perform any other content management functions. Table 5 (above) illustrates the commands supported by an ISD (e.g., ISD 705) in further detail.

The central SD 704 has Authorized Management privileges (discussed in further detail below with reference to Tables 8.1 and 8.2), and manages the content as instructed by the central TSM 702. In particular, the central SD 704 may securely manage applications, create SP SDs, and perform management operations on applets or applications in the secure element. The central SD 704 is associated with a package 713, the SP SD 709 and the SP SD 710. The SP SDs 709 and 710 are associated with applets 709-1 and 710-1. Table 6 above illustrates the commands supported by a central SD.

The SP SDs 709, 710, and 711 assist their respective applets in the establishment of secure channels and in the applet personalization process. Applet instances 709-1 and 710-1 may be created by instantiating uninstantiated applets or applications. Applet instances (e.g., applets 709-1 and 710-1) are created under (i.e., associated with) the central SD 704. After instantiation, if appropriate, applet instances are extradited (i.e., delivered) to their respective SP SDs. Table 3 (above) illustrates the commands supported by an SP SD, and Table 11 (below) illustrates the commands supported by an SP SD with Delegated Management privileges (e.g., SP SD 710).

SP SDs 709 and 710 have DAP verification privilege, in order to verify the integrity of binary files managed and handled by the central TSM 702. Data packages that do not require DAP verification (e.g., package 713) are loaded under (i.e., associated with) the central SD 704, and the data packages that require DAP verification are loaded under their respective SP SDs. Additionally, the SP SDs with Delegated Management privileges (e.g., 710) may perform authorized content management operations.

As illustrated in FIG. 7, the central TSM 702 manages the central SD 704. That is, the central TSM 702 acts as a secure element manager by controlling the keys of the central SD 704 (and its associated applications), and therefore can use any of its associated privileges (discussed in further detail below with reference to Tables 8.1 and 8.2). Through the central SD 704, the central TSM 702 can load, install, extradite, lock, or delete any associated applet or application on the secure element 701. Additionally, the central TSM may create and manage SP SDs, and may lock and unlock the secure element 701 through the ISD 705.

As further illustrated in FIG. 7, the third party TSM 708 controls the keys of the third party SD 706 (and its associated applications), and therefore can use any of its associated privileges (discussed in further detail below with reference to Tables 8.1 and 8.2). Through the third party SD 706, the third party TSM 708 can load, install, extradite, lock or delete any associated applet or application. The third party TSM 708 can also create and manage SP SDs that are associated with its respective third party SD (i.e., third party SD 706). The third party TSM 708 can lock or delete any of its associated applets or applications on the secure element 701 through its third party SD 706. Packages that are associated with the third party TSM (e.g., package 714), are loaded under (i.e., associated with) the third party SD 706. Applets or applications that are associated with the third party TSM 708 (e.g., application 711-1) are instantiated and the instances are created under (i.e., associated with) the third party SD 706. After instantiation, if appropriate, the applets or applications are extradited (i.e., delivered) to their respective SP SDs (e.g., application 711-1 is extradited to its respective SD, SP SD 711).

Tables 8.1 and 8.2 illustrate the privileges (e.g., Global Platform privileges) assigned to an ISD (e.g., ISD 705), a central SD (e.g., central SD 704), an MDPH SD (e.g., MDPH SD 716), a CA SD (e.g., CA SD 717), a third party SD (e.g., third party SD 706), an SP SD (e.g., SP SD 709), and an SP SD with Delegated Management (e.g., SP SD 710).

TABLE 8.1 Privileges ISD Central SD MDPH SD CA SD Security Domain Yes Yes Yes Yes DAP Verification Delegated Management Card Lock Yes Card Terminate Yes Card Reset CVM Management Yes Mandated DAP Yes Verification Trusted Path Yes Yes Authorized Management Yes Yes Token Verification Yes Global Delete Yes Global Lock Yes Global Registry Yes Final Application Global Service Yes Receipt Generation Yes

TABLE 8.2 SP SD (with Third Party Delegated Privileges SD SP SD Mgmt.) Security Domain Yes Yes Yes DAP Verification Optional Optional Delegated Yes Management Card Lock Card Terminate Card Reset CVM Management Mandated DAP Verification Trusted Path Yes Yes Yes Authorized Yes Management Token Verification Global Delete Global Lock Global Registry Final Application Global Service Receipt Generation

Table 9 illustrates the commands (e.g., Global Platform commands) supported by a CA SD (e.g., CA SD 717), according to the secure element configuration 700.

TABLE 9 Command Support DELETE N/A GET DATA Required with the following tags: 42 (SD Provider Identification Number) 45 (SD Image Number) 66 (SD Management Data) E0 (Key Information Template) C1 (Sequence Counter of Default Key Version Number) GET STATUS Required. INSTALL [for Load] N/A. INSTALL [for Install] N/A. INSTALL N/A. [for Make Selectable] INSTALL N/A. [for Personalization] INSTALL N/A. [for Registry Update] INSTALL [for N/A. Extradition] LOAD N/A. MANAGE CHANNEL N/A. PUT KEY Required for the CA SD keys. SET STATUS Required for CA SD itself. STORE DATA Required with the following tags: 42 (SD Provider Identification Number) 45 (SD Image Number) 66 (SD Management Data)

Table 10 illustrates the commands (e.g., Global Platform commands) supported by an MDPH SD (e.g., MDPH SD 716), according to the secure element configuration 700.

TABLE 10 Command Support DELETE N/A GET DATA Required with the following tags: 42 (SD Provider Identification Number) 45 (SD Image Number) 66 (SD Management Data) E0 (Key Information Template) C1 (Sequence Counter of Default Key Version Number) GET STATUS Required. INSTALL [for Load] N/A. INSTALL [for Install] N/A. INSTALL N/A. [for Make Selectable] INSTALL N/A. [for Personalization] INSTALL N/A. [for Registry Update] INSTALL [for N/A. Extradition] LOAD N/A. MANAGE CHANNEL N/A. PUT KEY Required for the MDPH SD keys. SET STATUS Required for MDPH SD itself. STORE DATA Required with the following tags: 42 (Issuer Identification Number) 45 (SD Image Number) 66 (SD Management Data)

Table 11 illustrates the commands (e.g., Global Platform commands) supported by an SP SD with Delegated Management (e.g., SP SD 710), according to the secure element configuration 700.

TABLE 11 Command Support DELETE Required with tag 4F (ELF or Application AID), and with tags D0 (Key Identifier) and D2 (Key Version Number). N/A with tags B6 and 9E (related to SCP 10). GET DATA Required with the following tags: 2F00 (List of Applications) 42 (Service Provider Identification Number) 45 (SD Image Number) 66 (SD Management Data) E0 (Key Information Template) C1 (Sequence Counter of Default Key Version Number) C2 (Receipt Confirmation Counter (for Delegated Management)) GET STATUS Required. INSTALL [for Load] Required, with tags EF/C6, EF/C7, EF/C8, EF/D6 (Memory Management), and with Load Token. INSTALL [for Install] Required (see INSTALL [for Install & Make Selectable]). INSTALL Required (see INSTALL [for Install & Make [for Make Selectable] Selectable]). INSTALL [for Required, with tag C9 (Application-Specific Install & Make Parameters) and tags EF/C6, EF/C7, EF/C8, Selectable] EF/D7, EF/D8 (Memory Management) and with Install and Make Selectable Tokens. INSTALL Required. [for Personalization] INSTALL Required, without specific parameters, and with [for Registry Update] Registry Update Token. INSTALL [for Required, without specific parameters, and with Extradition] Extradition Token. LOAD Required, with tags C4 (Load File Data Block) and E2 (DAP Block). MANAGE Required (for UICC, optionally for Embedded CHANNEL SE). PUT KEY Required for the SP SD keys. SET STATUS Required, only for SP SD and its applications. STORE DATA Required with the following tags: 42 (Service Provider Identification Number) 45 (SD Image Number) 66 (SD Management Data) Also supported for personalization of applications after INSTALL [for Personalization].

In an alternative embodiment, the third party TSM 703 has Delegated Management privileges, but content management operations are first be approved by the central TSM 702. The central TSM 702 can verify tokens and generate receipts for each associated SP SD that is not also associated with a third party TSM (e.g., SP SD 709). The third party TSM 703 controls the keys to its associated SP SDs (e.g., SP SD 710) and can load, install, extradite, or delete any associated applications or applets (e.g., applet 710-1) through its associated SP SD.

In an alternative embodiment, one or both of SP SDs 709 and 710 do not have DAP verification privilege.

In an alternative embodiment, one or both of MDPH SD 716 and CA SD 717 are not included in the secure element 701.

In another alternative embodiment, the secure element 701 has zero or more third party SDs.

G. UICC Secure Element Configuration with Third Party Security Domain

FIG. 8 depicts a secure element configuration 800 according to an exemplary embodiment. As depicted in FIG. 8, the secure element configuration 800 includes a secure element 801, a central TSM 802, and MNO 807 a third party TSM (with Authorized Management) 808, and a third party TSM (with Delegated Management) 803.

The secure element 801 is implemented as a UICC, and includes a central SD 804, an ISD 805, a third party SD 806, an MNO SD 815, an MDPH SD 817, and a CA SD 818. The secure element 801 also includes an SP SD 809, and SP SD (with Delegated Management) 810, and an SP SD 811.

The MNO SD 815 has Authorized Management privileges and can manage content as instructed by the MNO 807.

The MDPH SD 817 verifies the signatures (i.e., DAP) of the applets and applications loaded or installed on the secure element 801. Table 10 (above) illustrates the commands supported by an MDPH SD.

The CA SD 818 performs key generation for newly created security domains, in order to guarantee confidential loading. Table 9 (above) illustrates the commands supported by a CA SD.

The third party SD 806 has Authorized Management privilege, and manages content as instructed by the third party TSM 808. The third party SD 806 is associated with a package 814. The SP SD 811 is under (i.e., it is associated with) the third party SD 806, and is associated with an application 811-1. The third party SD 806 supports the same commands illustrated in Table 6 (above).

The ISD 805 creates security domains, including central SD 804, and third party SD 806, but does not perform any other content management functions. Table 5 (above) illustrates the commands supported by an ISD.

The central SD 804 has Authorized Management privileges (discussed in further detail above with reference to Table 2), and manages the content as instructed by the central TSM 802. In particular, the central SD 804 may securely manage applications, create SP SDs, and perform management operations on applets or applications in the secure element. The central SD 804 is associated with a package 813, the SP SD 809 and the SP SD 810. The SP SDs 809 and 810 are associated with applets 809-1 and 810-1. Table 6 above illustrates the commands supported by a central SD.

As illustrated in FIG. 8, the central TSM 802 manages the central SD 804. That is, the central TSM 802 acts as a secure element manager by controlling the keys of the central SD 804 (and its associated applications), and therefore can use any of its associated privileges (discussed in further detail below with reference to Tables 12.1 and 12.2). Through the central SD 804, the central TSM 802 may load, install, extradite, lock or delete any associated applet or application on the secure element 801. Additionally, the central TSM 802 may create and manage SP SDs.

As further illustrated in FIG. 8, the MNO 807 is associated with and manages MNO SD 815 and the telecommunications applet 816. Therefore, the MNO 807 can use any of the privileges of MNO SD 815. Through the MNO SD 815, the MNO 807 may load, install, extradite, lock or delete any associated applet or application on the secure element 801. Additionally, MNO packages and application or applet instances are loaded and/or created under (i.e., associated with) the MNO SD 815. The MNO 807 can lock or delete any MNO-associated application on the secure element 801 through the MNO SD 815.

As further illustrated in FIG. 8, the third party TSM 808 controls the keys of the third party SD 806 (and its associated applications), and therefore can use any of its associated privileges (discussed in further detail below with reference to Tables 12.1 and 12.2). Through the third party SD 806, the third party TSM 808 may load, install, extradite, lock or delete any associated applet or application. The third party TSM 808 can also create and manage SP SDs that are associated with its respective third party SD. Packages that are associated with the third party TSM (e.g., package 814), are loaded under (i.e., associated with) the third party SD 806. Applets or applications that are associated with the third party TSM 808 (e.g., application 811-1) are instantiated and the instances are created under (i.e., associated with) the third party SD 806. After instantiation, if appropriate, the applets or applications are extradited (i.e., delivered) to their respective SP SDs (e.g., application 811-1 is extradited to the SP SD 811).

Tables 12.1 and 12.2 illustrate the privileges (e.g., Global Platform privileges) assigned to an ISD (e.g., ISD 805), a central SD (e.g., central SD 804), an MDPH SD (e.g., MDPH SD 817), a CA SD (e.g., CA SD 818), a third party SD (e.g., third party SD 806), an MNO SD (e.g., MNO SD 815), an SP SD (e.g., SP SD 809), and an SP SD with Delegated Management (e.g., SP SD 810).

TABLE 12.1 Central Privileges ISD SD MDPH SD CA SD MNO SD Security Domain Yes Yes Yes Yes Yes DAP Verification Delegated Management Card Lock Yes Card Terminate Yes Card Reset CVM Yes Management Mandated DAP Yes Verification Trusted Path Yes Yes Yes Authorized Yes Yes Yes Management Token Yes Verification Global Delete Yes Global Lock Yes Global Registry Yes Final Application Global Service Yes Receipt Yes Generation

TABLE 12.2 SP SD Third Party (with Delegated Privileges SD SP SD Mgmt.) Security Domain Yes Yes Yes DAP Verification Optional Optional Delegated Yes Management Card Lock Card Terminate Card Reset CVM Management Mandated DAP Verification Trusted Path Yes Yes Yes Authorized Yes Management Token Verification Global Delete Global Lock Global Registry Final Application Global Service Receipt Generation

In an alternative embodiment, one or both of SP SDs 809 and 810 do not have DAP verification privilege.

In another alternative embodiment, one or both of MDPH SD 817 and CA SD 818 are not included in the secure element 801.

H. Computer Readable Medium Implementation

The present invention (e.g., system 100, sequences 200-400, configurations 500-800, or any part(s) or function(s) thereof) can be implemented using hardware, software, or a combination thereof, and can be implemented in one or more mobile device or other processing systems. To the extent that manipulations performed by the present invention were referred to in terms of human operation, no such capability of a human operator is necessary, or desirable in most cases, in any of the operations described herein which form part of the present invention. Rather, the operations described herein are machine operations. Useful machines for performing the operations of the present invention include mobile phones, smartphones, personal digital assistants (PDAs) or similar devices.

In one embodiment, the invention is directed toward one or more systems capable of carrying out the functionality described herein. An example of a system 900 is shown in FIG. 9.

The system 900 includes one or more processors, such as processor 901. The processor 901 is connected to a communication infrastructure 902 (e.g., communication bus, network). Various embodiments are described in terms of this exemplary system. After reading this description, it will become more apparent to a person skilled in the relevant art(s) how to implement the invention using other systems and/or architectures.

The system 900 also includes a main memory 903, which may be a database, or the like.

The system 900 also includes a querying module 904 for querying the main memory 903. Querying a memory (e.g., main memory 903) is discussed in further detail above with reference to FIGS. 2-4.

The system 900 also includes a receiving module 905 for receiving data, such as requests, from other entities over a network. Receiving data, such as requests, is discussed in further detail above with reference to FIGS. 2-4.

The system 900 also includes a transmission module 906 for transmitting data, such as requests and responses, to other entities over a network. Transmitting data, such as requests and responses, is discussed in further detail above with reference to FIGS. 2-4.

Each of modules 904-906 may be implemented using hardware, software or a combination of the two.

The example embodiments described above such as, for example, the systems and procedures depicted in or discussed in connection with FIGS. 1 to 8, or any part or function thereof, may be implemented by using hardware, software or a combination of the two. The implementation may be in one or more computers or other processing systems. While manipulations performed by these example embodiments may have been referred to in terms commonly associated with mental operations performed by a human operator, no human operator is needed to perform any of the operations described herein. In other words, the operations may be completely implemented with machine operations. Useful machines for performing the operation of the example embodiments presented herein include general purpose digital computers or similar devices.

Portions of the example embodiments of the invention may be conveniently implemented by using a conventional general purpose computer, a specialized digital computer and/or a microprocessor programmed according to the teachings of the present disclosure, as is apparent to those skilled in the computer art. Appropriate software coding may readily be prepared by skilled programmers based on the teachings of the present disclosure.

Some embodiments may also be implemented by the preparation of application-specific integrated circuits, field programmable gate arrays, or by interconnecting an appropriate network of conventional component circuits.

Some embodiments include a computer program product. The computer program product may be a non-transitory storage medium or media having instructions stored thereon or therein which can be used to control, or cause, a computer to perform any of the procedures of the example embodiments of the invention. The storage medium may include without limitation a floppy disk, a mini disk, an optical disc, a Blu-ray Disc, a DVD, a CD or CD-ROM, a micro-drive, a magneto-optical disk, a ROM, a RAM, an EPROM, an EEPROM, a DRAM, a VRAM, a flash memory, a flash card, a magnetic card, an optical card, nanosystems, a molecular memory integrated circuit, a RAID, remote data storage/archive/warehousing, and/or any other type of device suitable for storing instructions and/or data.

Stored on any one of the non-transitory computer readable medium or media, some implementations include software for controlling both the hardware of the general and/or special computer or microprocessor, and for enabling the computer or microprocessor to interact with a human user or other mechanism utilizing the results of the example embodiments of the invention. Such software may include without limitation device drivers, operating systems, and user applications. Ultimately, such computer readable media further includes software for performing example aspects of the invention, as described above.

Included in the programming and/or software of the general and/or special purpose computer or microprocessor are software modules for implementing the procedures described above.

While various example embodiments of the invention have been described above, it should be understood that they have been presented by way of example, and not limitation. It is apparent to persons skilled in the relevant art(s) that various changes in form and detail can be made therein. Thus, the disclosure should not be limited by any of the above described example embodiments, but should be defined only in accordance with the following claims and their equivalents.

In addition, it should be understood that the figures are presented for example purposes only. The architecture of the example embodiments presented herein is sufficiently flexible and configurable, such that it may be utilized and navigated in ways other than that shown in the accompanying figures.

Further, the purpose of the Abstract is to enable the U.S. Patent and Trademark Office and the public generally, and especially the scientists, engineers and practitioners in the art who are not familiar with patent or legal terms or phraseology, to determine quickly from a cursory inspection the nature and essence of the technical disclosure of the application. The Abstract is not intended to be limiting as to the scope of the example embodiments presented herein in any way. It is also to be understood that the procedures recited in the claims need not be performed in the order presented. 

1. A system for interfacing between service providers and secure memories, comprising: at least one memory; and a processor communicatively coupled to the at least one memory, wherein the processor executed application code instructions that are stored in the at least one memory to cause the system to: receive, from a service provider, a first request comprising a computing device identifier; query the at least one memory for secure storage data comprising a secure storage identifier that corresponds to the computing device identifier; transmit the secure storage data to the service provider; receive, from the service provider, a second request based on the secure storage data; and transmit a third request to a secure storage that corresponds to the secure storage data, the third request based on the second request received from the service provider.
 2. The system of claim 1, wherein the second request is a request to perform pre-personalization of the secure storage, the pre-personalization comprising creating, on the secure storage, one or more security domains and installing, on the secure storage, one or more applications pre-stored on the at least one memory.
 3. The system of claim 1, wherein the second request comprises at least one of a request to (1) manage a communication, (2) process one or more predetermined scripts, and (3) activate a service.
 4. The system of claim 3, wherein the one or more predetermined scripts comprises one of a command to (1) personalize an application, and (2) perform key rotation to set a key provided by the service provider into a security domain in the secure storage.
 5. The system of claim 3, wherein the one or more predetermined scripts comprises one or more command application protocol data units, the one or more command protocol data units comprising commands for the secure storage.
 6. The system of claim 1, wherein the at least one memory comprises a database of a plurality of computing device identifiers and a plurality of corresponding secure storage identifiers.
 7. The system of claim 1, wherein the processor is further configured to execute computer-executable instructions stored in the at least one memory to case the system to validate the second request using the at least one memory.
 8. The system of claim 1, further comprising an enterprise service bus operable to process at least one of the first, second and third requests.
 9. A method to interface between service providers and secure storages, comprising: receiving, by a computing device and from a service provider, a first request comprising a computing device identifier; querying, by the computing device, at least one memory for secure storage data comprising a secure storage identifier that corresponds to the computing device identifier; transmitting, by the computing device, the secure storage identifier data to the service provider; receiving, by the computing device and from the service provider, a second request based on the secure storage data; and transmitting, by the computing device, a third request to a secure storage that corresponds to the secure storage data, the third request based on the second request received from the service provider.
 10. The method of claim 9, wherein the second request is a request to perform pre-personalization of the secure storage, the pre-personalization comprises: creating, on the secure storage, one or more security domains; and installing, on the secure storage, one or more applications pre-stored on the at least one memory.
 11. The method of claim 9, wherein the second request comprises at least one of a request to (1) manage a communication, (2) process one or more predetermined scripts, and (3) activate a service.
 12. The method of claim 11, wherein the one or more predetermined scripts comprises one of a command to (1) personalize an application, and (2) perform key rotation to set a key provided by the service provider into a security domain in the secure storage.
 13. The method of claim 11, wherein the one or more predetermined scripts comprises one or more command application protocol data units, the one or more command application protocol data units comprising commands for the secure storage.
 14. The method of claim 9, wherein the at least one memory comprises a database of a plurality of computing device identifiers and a plurality of corresponding secure storage identifiers.
 15. The method of claim 9, further comprising validating, by the computing device, the second request using the at least one memory.
 16. The method of claim 9, wherein at least one of the first, second, and third requests are processed by an enterprise service bus.
 17. A computer program product, comprising: a non-transitory computer-readable medium having computer-executable program instructions embodied therein that when executed by a computer cause the computer to interface between service providers and secure storages, the computer-executable program instructions comprising: computer-executable program instructions to receive, from a service provider, a first request comprising a computing device identifier; computer-executable program instructions to query at least one memory for secure storage data comprising a secure storage identifier that corresponds to the computing device identifier; computer-executable program instructions to transmit the secure storage data to the service provider; computer-executable program instructions to receive, from the service provider, a second request based on the secure storage data; and computer-executable program instructions to transmit a third request to a secure storage corresponding to the secure storage data, the third request based on the second request received from the service provider.
 18. The computer program product of claim 17, wherein the second request is a request to perform pre-personalization of the secure storage, the pre-personalization comprising creating, on the secure storage, one or more security domains and installing, on the secure storage, one or more applications pre-stored on the at least one memory.
 19. The computer program product of claim 17, wherein the second request comprises at least one of a request to (1) manage a communication, (2) process one or more predetermined scripts, and (3) activate a service.
 20. The computer program product of claim 19, wherein the one or more predetermined scripts comprises one of a command to (1) personalize an application, and (2) perform key rotation to set a key provided by the service provider into a security domain in the secure storage.
 21. The computer program product of claim 19, wherein the one or more predetermined scripts comprises one or more command application protocol data units, the one or more command application protocol data units comprising commands for the secure storage.
 22. The computer program product of claim 17, wherein the at least one memory comprises a database of a plurality of computing device identifiers and a plurality of corresponding secure storage identifiers.
 23. The computer program product of claim 17, further comprising computer-executable program instructions to validate the second request using the at least one memory.
 24. The computer program product of claim 17, further comprising computer-executable program instructions to process at least one of the first, second, and third requests using an enterprise service bus. 